var _hmt = _hmt || [];
(function() {
    var hm = document.createElement("script");
    hm.src = "https://hm.baidu.com/hm.js?ca649477ab8c294fcd072a7f3a74b5c2";
    var s = document.getElementsByTagName("script")[0]; 
    s.parentNode.insertBefore(hm, s);
})();

// reg = 2
// reset = 16

//====================================================
//      用户注册之后及登录之后 设置LOCALSTORAGE
//====================================================
var _SLS_ = _SLS_ || {};
_SLS_ = (function(){
	return {
		init : function(obj){
			// y-z-m.c-r
			// 向缓存内写入flagData
			localStorage.setItem(
				'flagData'
				,JSON.stringify({
					// 登录类型 - 注册-REG|登录-LOGIN
					type : obj.type || ''
					// 账单充值记录
					,recharge : obj.recharge || 0
					// 登录后 - 用户资料 - 初始默认已完善资料
					,userInfo : 1
					// 登录后 - 新手指引-弹出层 - 初始不显示
					,novice : 0
					// 登录后 - 新手指引关闭点击为 - 初始为0
					,noviceCloseClick : 0
					// 登录后 - 图片广告-弹出层 - 初始显示
					,popSsImg : obj.popSsImg || 1
					// 登录后 - 图片广告关闭点击为 - 1为还未关闭可以点击 0为已点击关闭过
					,popSsImgCloseClick : 1
					// 登录后 - 优惠券列表
					,couponList : obj.couponList || []
					// 登录后 - 优惠券-弹出层 - 初始不显示
					,coupon : 0
					// 登录后 - 充值次数 0为未充值过 1为首次充值 2为多次充值
					,rechargeCount : 0
					// 登录后 - 用以判断首充成功后派发优惠券 1为派发 0为不派发 默认为1派发
					,couponAddF : 1
					// 登录后 - 用以判断单次充成功后派发优惠券 1为派发 0为不派发 默认为1派发
					,couponAddS : 1
				})
			);
		}
	}
}());


//====================================================
//              用户公共模块
//====================================================
var _LRF_ = _LRF_ || {};
_LRF_ = (function(){
    var contain = $('.LRCONTAIN');
    return {
        doPostAjax : function(param,callback,vars){
            $.ajax({
                type : 'POST'
                ,url : param.theUrl
                ,data : param.theData
                ,cache : false
                ,success : function(data){callback(data,vars)}
            });
        }
        ,getUrlRequest : function(n){
            var reg = new RegExp('(^|&)'+n+'=([^&]*)(&|$)', 'i'),
                os = window.location.search.substr(1),
                r = os.match(reg);
            if(r){return unescape(r[2])}
            else{return ''}
        }
        ,page : (function(){
            var pn = location.pathname;
            var str = '';
            if(/\/userRegPg/.test(pn)){str = 'reg'}
            else if(/\/userLoginPg/.test(pn)){str = 'login'}
            else if(/\/userPwdResetPg/.test(pn)){str = 'find'}
            else{str = 'pageLogin'}
            return str;
        }())
        // 退出登录
        ,exit : function(callback){
            var param = {theUrl : '/userExitDt.json', theData : {}};
            this.doPostAjax(param,callback);
        }
        //----------------------------
        //   localStorage.userType
        //----------------------------
        // ,LSUT : (function(){
        //     var ut = Number(localStorage.userType);
        //     return ut;
        // }())
        //------------------------------------
        // 参数 - 用户类型 (userType = 1|2)
        //------------------------------------
        ,UT : (function(){
            function getRequest(n){
                var reg = new RegExp('(^|&)'+n+'=([^&]*)(&|$)', 'i'),
                    os = window.location.search.substr(1),
                    r = os.match(reg);
                if(r){return unescape(r[2])}
                else{return ''}
            }
            var ut = getRequest('userType') || '';
            var n = 2;
            if(ut && (ut == 1 || ut == 2)) n = Number(ut);
            return n;
        }())
        //----------------------------
        //   localStorage.USRINFO
        //----------------------------
        // ,LSUN : (function(){
        //     var data = localStorage.USRINFO ? JSON.parse(localStorage.USRINFO) : {};
        //     var name = null;
        //     if(JSON.stringify(data) != '{}'){
        //         name = data.data.companyNm || data.data.nickname || null;
        //     }
        //     return name;
        // }())

        ,tipsError: function(input,tips){
            input.addClass('error');
            input.next('.tip').addClass('error');
            input.next('.tip').children('font').html(tips);
        }
        ,tipsOk: function(input){
            input.removeClass('error');
            input.next('.tip').removeClass('error');
            input.next('.tip').children('font').html('');
        }

        // 弹出层关闭按钮点击事件
        ,popCloseBtnClick : function(){$(this).parents('.popMid').hide()}

        // 验证码方式 1图片验证码 2极验验证码 3螺丝帽人机验证
        ,yzmType : 0
        ,userRLFqq : '<em class="qq"><a href="http://wpa.b.qq.com/cgi/wpa.php?ln=2&amp;uin=4008160560" target="_blank"></a></em>'
        ,imgCode : $('img.imgCode')
        ,smsTime : 90
        ,geetest_challenge : ''
        ,geetest_validate : ''
        ,geetest_seccode : ''

        //-----------------------
        //   判断验证码显示
        //-----------------------
        ,judgeYzmShow : function(callback){
            var type = (/index|login|(^\/$)/i.test(location.pathname)) ? 'login' : 'sms';
            var param = {theUrl: api.user.isOverflow, theData: {type: type}};
            this.doPostAjax(param,function(data){
                if(data.success == 'true'){
                    // 需要开启验证
                    _LRF_.yzmType = 3;
                }
                _LRF_.yzmTypeShow();
                callback();
            });
        }
        // 验证方式显示
        ,yzmTypeShow : function(){
            $('.yzmType').addClass('hide');
            if(_LRF_.yzmType == 1){$('.yzmType.img').removeClass('hide')}
            else if(_LRF_.yzmType == 2){$('.yzmType.geet').removeClass('hide')}
            else if(_LRF_.yzmType == 3){$('.yzmType.luosimao').removeClass('hide')}
        }
        // 图形验证码点击事件
        ,imgCodeClick : function(){_LRF_.imgCodeChange()}
        ,imgCodeChange : function(){
            var src = '/imgCode.html?'+Math.random();
            $('img.imgCode').attr('src',src);
        }

        ,smsBlueGetBtnToGray : function(){
            $('.getyzm').find('.sms.get').removeClass('blue').addClass('disabled');
            this.smsTimeDown();
        }
        ,smsTimeDown : function(){
            this.smsTime--;
            if(this.smsTime > 0){
                $('.getyzm').find('.sms.get').html(this.smsTime + '秒后重新发送');
                setTimeout(function(){_LRF_.smsTimeDown()},1000);
            }else{
                $('.getyzm').find('.sms.get').addClass('blue').removeClass('disabled').html('获取验证码');
                this.smsTime = 90;
            }
        }
    }
}());








//====================================================
//----------------------------------------------------
//                   用户登录模块
//----------------------------------------------------
//====================================================
var _L_ = _L_ || {};
_L_ = (function(){
    var contain = $('.LRCONTAIN');
    //------------------------------------------
    //            百度统计事件跟踪
    //------------------------------------------
    // [必填]   category - 要监控的目标的类型名称
    // [必填]   action   - 用户跟目标交互的行为
    // [非必填] optLabel - 事件的一些额外信息
    // [非必填] optValue - 事件的一些数值信息
    //------------------------------------------
    var BAIDU = function(o){_hmt.push(['_trackEvent', o.category, o.action, (o.optLabel || ''), (o.optValue || '')])};

    return {
        // 设备 - 网页
        device : 'web'

        //-----------------------
        // 登录类型的 Checkbox
        //-----------------------
        ,loginWay : 'wx'
        ,loginWayBox : contain.find('.loginWay')
        ,loginWayCheckbox : contain.find('input[type="checkbox"][name="loginWay"]')
        

        // 免费注册按钮
        ,regFreeBtn : $('.regFree')
        // 忘记密码按钮
        ,forgetPassBtn : contain.find('.forgetPass')
        // 登录按钮
        ,loginBtn : contain.find('.btn.loginBtn')

        //-----------------------
        // 用户类型的 Radio
        //-----------------------
        ,userTypeRadio : contain.find('input[type="radio"][name="userType"]')

        //-----------------------
        // 表单区域 formBody
        //-----------------------
        ,formBody : contain.find('.formBody')
        ,formBodyPg : contain.find('.formBody.pg')
        ,formBodyPgLogin : contain.find('.formBody.pg').find('.LRFORM.login')
        ,formBodyPgLoginEx : contain.find('.formBody.pg').find('.LRFORM.login.ex')
        ,formBodyPgLoginEd : contain.find('.formBody.pg').find('.LRFORM.login.ed')
        ,formBodyWx : contain.find('.formBody.wx')
        ,formBodyShow : function(){
            var un = this.LSUN, ut = this.LSUT;
            var userName = un ? un : '新用户';
            // 首先默认都不显示
            this.formBody.addClass('hide');
            this.formBodyPgLogin.addClass('hide');
            // 如果已登录 pg界面显示 否则 wx界面显示
            (ut > 0) ? this.formBodyPg.removeClass('hide') : this.formBodyWx.removeClass('hide');
            // 如果已登录 已登录界面显示 否则 未登录界面显示
            (ut > 0) ? this.formBodyPgLoginEd.removeClass('hide') : this.formBodyPgLoginEx.removeClass('hide');
            // 用户名
            this.formBody.find('.userName').html(userName);
        }

        // 退出登录点击事件
        ,userLogoutClick : function(){
            _LRF_.exit(function(data){
                localStorage.clear();
                sessionStorage.clear();
                localStorage.setItem('userType','-1');
                _L_.loginex();
            });
        }

        ,init : function(){
            //-----------------------
            // localStorage.userType
            //-----------------------
            this.LSUT = (function(){
                return Number(localStorage.userType);
            }());
            //-----------------------
            // localStorage.USRINFO
            //-----------------------
            this.LSUN = (function(){
                var data = localStorage.USRINFO ? JSON.parse(localStorage.USRINFO) : {};
                var name = null;
                if(JSON.stringify(data) != '{}'){name = data.data.companyNm || data.data.nickname || null}
                return name;
            }());


            // 用户是否登录
            this.userIsLogin();
            // 组件初始化
            this.componentsInit();
            // 退出登录点击事件
            this.formBody.find('.userLogout').on('click',this.userLogoutClick);
            // 进入广告主|媒介主按钮点击事件
            $('.btn.goPage').on('click',this.goPageBtnClick);
            // 眼睛鼠标移入移出事件
            $('.eye').on('mouseover',this.eyeMouseOver).on('mouseout',this.eyeMouseOut);
            // 弹出层关闭按钮点击事件
            $('.popMid').find('.close').on('click',_LRF_.popCloseBtnClick);
            // 弹出层确定按钮点击事件
            $('.btn.red.yzm.send').on('click',this.yzmRedSendBtnClick);
            // 回车键点击事件
            $(document).on('keyup',this.documentKeyup);
            // 登录方式点击事件
            this.loginWayCheckbox.on('click',this.loginWayCheckboxClick);
            // 用户类型点击事件
            this.userTypeRadio.on('click',this.userTypeRadioClick);
            // 登录按钮点击事件
            this.loginBtn.on('click',this.loginBtnClick);
            // 免费注册按钮点击事件
            this.regFreeBtn.on('click',this.regFreeClick);
            // 忘记密码按钮点击事件
            this.forgetPassBtn.on('click',this.forgetPassBtnClick);
            // 二维码过期点击事件
            $(document).on('click','.qrcodeArea.expired',this._WECHATQRCODE_.expiredClick);
        }

        // 登录way(1显示|0隐藏)
        ,loginWayBoxShow : function(n){
            // 如果1显示 则显示登录类型区域 否则隐藏
            n ? this.loginWayBox.removeClass('hide') : this.loginWayBox.addClass('hide');
            // 如果1显示 则取消选中 否则选中
            n ? this.loginWayCheckbox.prop('checked',false) : this.loginWayCheckbox.prop('checked',true);
            // 如果是隐藏 则清除微信二维码
            if(!n) this._WECHATQRCODE_.wechatQrcodeClear();
        }
        // 用户类型radio禁用(1禁用|0解禁)
        ,userTypeRadioDisabled : function(tf){this.userTypeRadio.each(function(){$(this).prop('disabled',tf)})}
        // 用户类型radio选中
        ,userTypeRadioChecked : function(){
            var ut = this.LSUT;
            this.userTypeRadio.each(function(){if(Number($(this).val()) == ut){$(this).prop('checked',true)}});
        }
        // 登录界面的显示与隐藏(true已登录|false为未登录)
        ,formBodyStatus : function(tf){
            var un = this.LSUN;
            var userName = un ? un : '新用户';
            this.formBody.addClass('hide');
            this.formBodyPgLogin.addClass('hide');
            // 如果已登录
            if(tf){
                this.formBodyPg.removeClass('hide');
                this.formBodyPgLoginEd.removeClass('hide');
                this.formBody.find('.userName').html(userName);
                var cw = this.LSUT == 1 ? '媒介主' : '广告主';
                this.formBodyPgLoginEd.find('.btn.goPage').html('进入'+cw+'平台');
            // 如果未登录
            }else{
                this.formBodyWx.removeClass('hide');
                this.formBodyPgLoginEx.removeClass('hide');
                this.formBody.find('.userName').html('');
            }
        }

        // 免费注册按钮点击事件
        ,regFreeClick : function(){location.href = '/userRegPg.html?userType='+_L_.userType}
        // 忘记密码按钮点击事件
        ,forgetPassBtnClick : function(){location.href = '/userPwdResetPg.html?userType='+_L_.userType}

        //--------------------------------------
        //             用户是否登录
        //--------------------------------------
        // 首先判断是否登录
        //     如果没有登录
        //         1、默认显示微信二维码
        //         2、pg的未登录表单显示
        //     如果已登录
        //         1、移除右上角的登录类型切换
        //         2、禁用用户类型的切换
        //         3、pg已登录的界面显示
        //--------------------------------------
        ,userIsLogin : function(){
            var un = this.LSUN, ut = this.LSUT;

            // 如果有用户名 则用户已登录 否则用户未登录
            // un ? this.logined() : this.loginex();

            // 如果userType>0 则用户已登录 否则用户未登录
            (ut > 0) ? this.logined() : this.loginex();
        }
        //--------------------------------------
        //            用户已登录
        //--------------------------------------
        // 一、登录类型way隐藏
        // 二、用户类型userType禁用
        // 三、用户类型userType选中
        // 四、登录前的界面隐藏 (表单及二维码)
        // 五、登录后的界面显示 (填入用户名)
        //--------------------------------------
        ,logined : function(){
            // 登录类型区域(1显示|0隐藏)
            this.loginWayBoxShow(0);
            // 用户类型radio禁用(true禁用|false解禁)
            this.userTypeRadioDisabled(true);
            // 用户类型radio选中
            this.userTypeRadioChecked();
            // 登录界面的显示与隐藏(true已登录|false为未登录)
            this.formBodyStatus(true);
        }
        //--------------------------------------
        //            用户未登录
        //--------------------------------------
        // 一、登录类型way显示
        // 二、用户类型userType解禁
        // 三、用户类型userType默认选中广告主
        // 四、登录前的界面显示 (默认显示二维码)
        // 五、登录后的界面隐藏 (删除用户名)
        //--------------------------------------
        ,loginex : function(){
            // 登录类型区域(1显示|0隐藏)
            this.loginWayBoxShow(1);
            // 用户类型radio禁用(true禁用|false解禁)
            this.userTypeRadioDisabled(false);
            // 登录界面的显示与隐藏(true已登录|false为未登录)
            this.formBodyStatus(false);
            // 获取登录类型
            this.getLoginWay();
            // 获取用户类型
            this.getUserType();
            // 获取微信二维码
            this._WECHATQRCODE_.GET();
        }

        //----------------
        // 获取登录类型
        //----------------
        ,getLoginWay : function(){
            if(this.loginWayCheckbox.is(':checked')){this.loginWay = 'pg'}
            else{this.loginWay = 'wx'}
            // 根据不同的类型显示不同的区域
            this.formLoginWayShow();
        }
        ,loginWayCheckboxClick : function(){
            if($(this).is(':checked')){_L_.loginWay = 'pg'}
            else{_L_.loginWay = 'wx'}
            // 根据不同的类型显示不同的区域
            _L_.formLoginWayShow();
            // 是否微信二维码
            _L_.isWECHATQRCODE();
        }
        // 根据不同的类型显示不同的区域
        ,formLoginWayShow : function(){
            this.formBody.addClass('hide');
            if(this.loginWay == 'wx'){this.formBodyWx.removeClass('hide')}
            else if(this.loginWay == 'pg'){this.formBodyPg.removeClass('hide')}
        }

        //----------------
        // 获取用户类型
        //----------------
        ,getUserType : function(){
            contain.find('input[type="radio"][name="userType"][value="'+_LRF_.UT+'"]').prop('checked',true);
            this.userTypeRadio.each(function(){
                if($(this).is(':checked')){_L_.userType = Number($(this).val())}
            });
            // 登录按钮的颜色
            this.loginBtnColor();
            // console.log(this.userType);
        }
        ,userTypeRadioClick : function(){
            if($(this).is(':checked')){_L_.userType = Number($(this).val())}
            // 登录按钮的颜色
            _L_.loginBtnColor();
            // 是否微信二维码
            _L_.isWECHATQRCODE();
        }
        // 登录按钮的颜色
        ,loginBtnColor : function(){
            if(this.userType == 2){
                contain.find('.btn.loginBtn').removeClass('bgOrange').addClass('bgBlue');
            }else if(this.userType == 1){
                contain.find('.btn.loginBtn').removeClass('bgBlue').addClass('bgOrange');
            }
        }
        // 是否微信二维码
        ,isWECHATQRCODE : function(){
            // 如果有定时器 清除定时器
            if(this._WECHATQRCODE_.CD) this._WECHATQRCODE_.clearIntervalFn();
            // 如果是网页登录 则返回
            if(this.loginWay == 'pg') return;
            // 获取微信二维码
            this._WECHATQRCODE_.GET();
        }

        //------------------------
        //     获取微信二维码
        //------------------------
        ,_WECHATQRCODE_ : (function(){
            return {
                AREA : $('.formBody.wx').find('.qrcodeArea')
                ,usrinfoBox : $('.formBody.wx').find('.usrinfo')
                // n为几秒请求一次
                ,n : 3
                ,GET : function(){
                    // 获取登录类型
                    this.way = _L_.loginWay;
                    // 获取用户类型
                    this.userType = _L_.userType || 2;
                    // console.log(this.way,this.userType);

                    // 微信二维码请求
                    if(this.way == 'wx'){this.wechatQrcode()}
                    // 微信二维码清除
                    else if(this.way == 'pg'){this.wechatQrcodeClear()}
                }

                // 清除定时器
                ,clearIntervalFn : function(){
                    if(this.CD) clearInterval(this.CD);
                    delete this.CD;
                }

                //----------------------------
                // 二维码过期点击事件
                // 重新获取二维码
                // 已经过期，无需去清除定时器
                // 直接重新获取就是了
                //----------------------------
                ,expiredClick : function(){
                    _L_._WECHATQRCODE_.wechatQrcode();
                }

                // 微信二维码请求
                ,wechatQrcode : function(){
                    var data = {userType : this.userType};
                    var param = {theUrl : '/wechat/qrcode.json', theData : data};
                    _LRF_.doPostAjax(param,this.wechatQrcodeFn);
                }
                ,wechatQrcodeFn : function(data){
                    var _ = _L_._WECHATQRCODE_;
                    if(data.success == 'true'){
                        _.wechatQrcodeData = data.data;
                        // 显示图片二维码
                        _.showQrcode();
                        // 过期秒数
                        _.seconds = data.data.expire_seconds;
                        // 计算秒数
                        _.computSeconds();
                    }else{
                        console.log(data.msg);
                    }
                }
                // 显示图片二维码
                ,showQrcode : function(){
                    var ticket = this.wechatQrcodeData.ticket;
                    var qrcode = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='+ticket;
                    this.AREA.html('<img src="'+qrcode+'">');
                    // 已过期的遮罩-移除
                    this.AREA.removeClass('expired');
                }

                // 计算秒数
                ,computSeconds : function(){
                    // 定义定时器
                    this.CD = setInterval(this.countDown,(this.n*1e3));
                }
                ,countDown : function(){
                    var _ = _L_._WECHATQRCODE_;
                    _.seconds -= _.n;
                    // 如果秒数<n 则已过期 否则未过期
                    (_.seconds < _.n) ? _.expired() : _.unExpired();
                }
                // 已过期
                ,expired : function(){
                    // 清除定时器
                    this.clearIntervalFn();
                    // console.log('已过期');
                    // 已过期的遮罩-添加
                    this.AREA.addClass('expired');
                }
                // 未过期
                ,unExpired : function(){
                    // console.log('未过期 - ',this.seconds);
                    // 判断用户是否关注微信公众号
                    this.wechatIsFocus();
                }

                // 判断用户是否关注微信公众号
                ,wechatIsFocus : function(){
                    var data = {userType : this.userType, ticket : this.wechatQrcodeData.ticket};
                    var param = {theUrl : '/wechat/wechatFocus.json', theData : data};
                    _LRF_.doPostAjax(param,this.wechatIsFocusFn);
                }
                ,wechatIsFocusFn : function(data){
                    var _ = _L_._WECHATQRCODE_;
                    if(data.success == 'true'){
                        // 如果有返回openId 则获取openId 否则删除openId
                        data.openId ? _.openId = data.openId : delete _.openId;
                        // 是否关注
                        _.isFocus = data.isFocus;
                        // 微信公众号是否已关注了
                        _.wechatIsFocused();
                    }else{
                        console.log(data.msg);
                    }
                }
                // 微信公众号是否已关注了
                ,wechatIsFocused : function(){
                    // 如果已扫码 则清除定时器
                    if(this.isFocus) this.clearIntervalFn();

                    //-------------------------------
                    // 如果已扫码
                    // 只要扫码了，有返回值，就统计
                    // 不管扫码登录成功与否
                    //-------------------------------
                    if(this.isFocus){
                        // 百度事件统计 (扫码登录)
                        BAIDU({category : '微信扫码登录', action : '已扫码，但登录成功与否未知'});
                    }

                    //-------------------------------
                    //     1.已扫码并已有关联账号
                    //-------------------------------
                    // 根据userType获取用户信息
                    //-------------------------------
                    if(this.isFocus == 1){
                        this.getUserInfo();
                        return;
                    }

                    //-------------------------------
                    //     2.已扫码但无关联账号
                    //       并且有返回openId
                    //-------------------------------
                    // 根据userType跳转注册页进行绑定
                    // 传参 url : regType=wx
                    // 传参 url : userType=1|2
                    // 传参 local : openId = openId
                    //-------------------------------
                    if(this.isFocus == 2 && this.openId){
                        // way 1.url上传openId | 2.将openId写入cookie
                        var way = 2;
                        var p1 = '?userType='+this.userType;
                        var p2 = '&regType=wx';
                        var p3 = '&source_inner=scan';
                        var pOpenId = '&openId='+this.openId;
                        var href = '';

                        // url上传openId
                        if(way == 1){href = '/userRegPg.html'+p1+p2+p3+pOpenId}
                        if(way == 2){
                            // 清除cookie.OPENID
                            cookie.deletes('OPENID');
                            // 将openId写入cookie
                            cookie.set('OPENID',this.openId);
                            href = '/userRegPg.html'+p1+p2+p3;
                        }

                        location.href = href;
                        return;
                    }

                    //-------------------------------
                    //     3.已扫码但账号已冻结
                    //-------------------------------
                    if(this.isFocus == 3){
                        alert('该账号已被冻结');
                        return;
                    }
                    //-------------------------------
                    //     4.登录方式不唯一
                    //-------------------------------
                    if(this.isFocus == 4){
                        alert('登录方式不唯一');
                        return;
                    }

                }

                // 根据userType获取用户信息
                ,getUserInfo : function(){
                    var cw = this.userType == 1 ? '/websiteHome' : '/companyHome';
                    var param = {theUrl : cw+'/userInfoDt.json', theData : {}};
                    _LRF_.doPostAjax(param,this.getUserInfoFn);
                }
                ,getUserInfoFn : function(data){
                    var _ = _L_._WECHATQRCODE_;
                    if(data.success == 'true'){
                        _.userData = data.data;
                        _.getUserNameAndImg();
                    }else{
                        console.log(data.msg);
                    }
                }
                ,getUserNameAndImg : function(){
                    this.userName = this.userData.companyNm || this.userData.nickname || '新用户';
                    this.userImg = this.userData.img || '';
                    this.showUserNameAndImg();
                    console.log(this.userName,this.userImg);
                }
                ,showUserNameAndImg : function(){
                    this.AREA.addClass('hide');
                    this.usrinfoBox.removeClass('hide');
                    this.usrinfoBox.find('img.theUserTx').attr({src:this.userImg});
                    this.usrinfoBox.find('.userName').html(this.userName);
                    // 页面跳转
                    this.goPage();
                }
                // 页面跳转
                ,goPage : function(){
                    var ut = this.userType;

                    if(ut == 1){
                        // 向缓存内写入flagData
                        _SLS_.init({type : 'LOGIN'});
                        setTimeout(function(){location.href = '/websiteHome/userProfilePg.html'},2e3);
                    }else if(ut == 2){
                        // 添加优惠券
                        setTimeout(function(){_L_.couponAdd()},2e3);
                    }
                }

                // 微信二维码清除
                ,wechatQrcodeClear : function(){
                    // 删除返回数据
                    delete this.wechatQrcodeData;
                    // 删除二维码
                    this.AREA.html('');
                    // 已过期
                    this.expired();
                }
            }
        }())

        //----------------
        //     组件S
        //----------------
        ,component : {
            // 组件 - 登录名
            loginName : {
                dom : contain.find('.LRFORM').find('input[type="text"].loginName')
                ,val : ''
                ,ok : false
                ,type : ''
                ,init : function(){
                    this.dom.on('keyup',this.domCheck);
                    this.dom.on('blur',this.domCheck);
                    this.dom.on('change',this.domCheck);
                }
                ,domCheck : function(e){
                    var _ = _L_.component.loginName;
                    _.val = e.target.value;
                    _.check('blur');
                }
                ,check : function(str){
                    if(!this.val && str == 'blur'){_LRF_.tipsOk(this.dom); this.type = ''; this.ok = false}
                    else if(!this.val && str == 'submit'){_LRF_.tipsError(this.dom,'请输入登录名'); this.type = ''; this.ok = false}
                    else{
                        if(reg.num.test(this.val)){
                            if(!reg.mobile.test(this.val)){_LRF_.tipsError(this.dom,'请输入正确的手机号码'); this.type = ''; this.ok = false}
                            else{_LRF_.tipsOk(this.dom); this.type = 'mobile'; this.ok = true}
                        }else{
                            if(!reg.email.test(this.val)){_LRF_.tipsError(this.dom,'请输入正确的邮箱地址'); this.type = ''; this.ok = false}
                            else{_LRF_.tipsOk(this.dom); this.type = 'email'; this.ok = true}
                        }
                    }
                }
            }
            // 组件 - 密码
            ,password : {
                dom : contain.find('.LRFORM').find('input[type="password"].password')
                ,val : ''
                ,ok : false
                ,init : function(){
                    this.dom.on('keyup',this.domCheck);
                    this.dom.on('blur',this.domCheck);
                    this.dom.on('change',this.domCheck);
                }
                ,domCheck : function(e){
                    var _ = _L_.component.password;
                    _.val = e.target.value;
                    _.check('blur');
                }
                ,check : function(str){
                    if(!this.val && str == 'blur'){_LRF_.tipsOk(this.dom); this.ok = false}
                    else if(!this.val && str == 'submit'){_LRF_.tipsError(this.dom,'请输入密码'); this.ok = false}
                    else{
                        if(this.val.length < 6 || this.val.length > 20){_LRF_.tipsError(this.dom,'密码长度在6~20位之间'); this.ok = false}
                        else{_LRF_.tipsOk(this.dom); this.ok = true}
                    }
                }
            }
        }
        //----------------
        //   组件初始化
        //----------------
        ,componentsInit : function(){
            this.component.loginName.init();
            this.component.password.init();
        }

        // 眼睛鼠标移入移出事件
        ,eyeMouseOver : function(){$(this).next('input').prop('type','text')}
        ,eyeMouseOut : function(){$(this).next('input').prop('type','password')}

        // 弹出层确定按钮点击事件
        ,yzmRedSendBtnClick : function(){
            var result = $('input[name="luotest_response"]').val(), luosimaoBox = $('.luosimaoBox');
            if(!result){_LRF_.tipsError(luosimaoBox,'请先完成验证') ;return}
            // 验证码弹出层关闭
            $('#popImgYzm').prop('checked',false);
        }
        
        // 进入广告主|媒介主按钮点击事件
        ,goPageBtnClick : function(){
            if(_L_.LSUT == 2){location.href = '/companyHome/articleResListPg.html'}
            else if(_L_.LSUT == 1){location.href = '/websiteHome/userProfilePg.html'}
        }

        // 回车键点击事件
        ,documentKeyup : function(e){
            // keyCode=13是回车键
            if(e.keyCode == 13){
                _L_.loginCheck();
            }
        }
        // 登录按钮点击事件
        ,loginBtnClick : function(){
            // 登录校验
            _L_.loginCheck();
        }
        // 登录校验
        ,loginCheck : function(){
            // 校验 - 登录名
            var loginName = this.component.loginName;
            if(!loginName.ok){
                if(!loginName.val){loginName.check('submit')}
                return;
            }
            this.loginName = loginName.val;
            this.loginType = loginName.type;

            // 校验 - 密码
            var password = this.component.password;
            if(!password.ok){
                if(!password.val){password.check('submit')}
                return;
            }
            this.pwd = $.md5(password.val);

            //----------校验图形验证码----------
            // 判断是否开启验证
            _LRF_.judgeYzmShow(function(){
                // 验证码Type为1时候校验图形验证码
                if(_LRF_.yzmType == 1){
                    var yzmCodeInput = $('input.yzmCode'), yzmCodeInput_val = yzmCodeInput.val() || '';
                    _L_.yzmCode = '';
                    if(!yzmCodeInput_val){_LRF_.tipsError(yzmCodeInput,'请输入验证码'); return}
                    _L_.yzmCode = yzmCodeInput_val;
                }
                // 验证码Type为2时候极验验证码
                else if(_LRF_.yzmType == 2){
                    var result = captchaObjData.getValidate(), geetBox = $('.geetBox');
                    if(!result){_LRF_.tipsError(geetBox,'请先完成验证'); return}
                    _LRF_.geetest_challenge = result.geetest_challenge;
                    _LRF_.geetest_validate = result.geetest_validate;
                    _LRF_.geetest_seccode = result.geetest_seccode;
                }
                // 验证码Type为3时螺丝帽验证
                else if(_LRF_.yzmType == 3){
                    var result = $('input[name="luotest_response"]').val(), luosimaoBox = $('.luosimaoBox');
                    if(!result){
                        // _LRF_.tipsError(luosimaoBox,'请先完成验证');
                        return;
                    }
                }

                // 显示验证码
                (_LRF_.yzmType == 3) && $('#popImgYzm').prop('checked',true);
                // 构造数据
                _L_.createUserLoginData();
                // 用户登录
                _L_.userLogin();

                //-------------------------------
                // 账号密码登录
                // 只要事件触发，就统计
                // 不管登录成功与否
                //-------------------------------
                // 百度事件统计 (扫码登录)
                BAIDU({category : '账号密码登录', action : '已点击登录，但登录成功与否未知'});
            });
        }
        // 构造数据
        ,createUserLoginData : function(){
            this.loginData = {};
            this.loginData.device = this.device;
            this.loginData.userType = this.userType;
            this.loginData.loginType = this.loginType;
            this.loginData.loginName = this.loginName;
            this.loginData.pwd = this.pwd;
            this.loginData.referer = document.referrer;

            if(_LRF_.yzmType == 0) this.loginData.imgType = 'luosimao';
            if(_LRF_.yzmType == 1){
                this.loginData.code = this.yzmCode;
            }else if(_LRF_.yzmType == 2){
                this.loginData.imgType = this.imgType;
                this.loginData.geetest_challenge = _LRF_.geetest_challenge;
                this.loginData.geetest_validate = _LRF_.geetest_validate;
                this.loginData.geetest_seccode = _LRF_.geetest_seccode;
            }else if(_LRF_.yzmType == 3){
                this.loginData.imgType = 'luosimao';
                this.loginData.code = $('input[name="luotest_response"]').val();
            }
        }
        // 用户登录
        ,userLogin : function(){
            var param = {theUrl: api.user.login, theData: this.loginData};
            _LRF_.doPostAjax(param,this.userLoginFn);
        }
        //------------------------------------
        //      用户登录成功后的跳转相关
        //------------------------------------
        ,userLoginFn : function(data){
            if(data.success == 'true'){
                var referer = data.referer;
                //登录成功后跳回到原来页面,此为活动页登录而作
                var prevLink = document.referrer;  
                if($.trim(prevLink)==''){  
                    location.href = '/companyHome/articleResListPg.html';  
                }else{  
                    if(prevLink.indexOf('www.myunmei.com')==-1){    //来自其它站点  
                        location.href = '/companyHome/articleResListPg.html';  
                    }  
                    if(prevLink.indexOf('20190910')!=-1){      //来自注册页面  
                        location.href = '/topic/20190910/index.html';  
                    }  
                    // location.href = prevLink;  
                }  
                 //登录成功后跳回到原来页面,此为活动页登录而作

                //-----------------------------
                //     用户登录成功后的跳转
                //-----------------------------
                _L_.userLoginSuccess();

                // 如果是广告主
                if(_L_.userType == 2){
                    // 添加优惠券
                    _L_.couponAdd();

                    // 百度事件统计 (广告主账号登录 成功)

                }
                // 如果是媒介主
                else if(_L_.userType == 1){
                    // 向缓存内写入flagData
                    _SLS_.init({type : 'LOGIN'});

                    //---------------------------------
                    //    localStorage.logined
                    //---------------------------------
                    // 用于媒介主登录之后添加资源层的弹出
                    // 弹出之后就删除此项了
                    //---------------------------------
                    localStorage.setItem('logined',1);

                    // 忘记了这个有什么用，先注释掉
                    // localStorage.setItem('theflag',1);

                    // 页面跳转媒介主首页
                    location.href = '/websiteHome/userProfilePg.html';

                    // 百度事件统计 (媒介主账号登录 成功)

                }
            }
            else{
                if(_LRF_.yzmType == 1){}
                else if(_LRF_.yzmType == 2){_L_.geetestImgCode()}
                else if(_LRF_.yzmType == 3){LUOCAPTCHA.reset()}

                var input = '', tips = '';
                if(data.msg == '短信验证码失效'){input = $('input.smsCode'); tips = '短信验证码失效'}
                else if(data.msg == '短信验证码不正确'){input = $('input.smsCode'); tips = '短信验证码不正确'}
                else if(data.msg == '图形验证码错误'){input = $('input.yzmCode'); tips = '图形验证码错误'; _LRF_.imgCodeChange()}
                else if(data.msg == '密码错误'){input = $('input.password'); tips = '密码错误'}
                else if(data.msg == '用户不存在'){input = $('input.loginName'); tips = '用户不存在'}
                else{alert(data.msg)}

                if(input){_LRF_.tipsError(input,tips)}
            }
        }

        //======================================
        //--------------------------------------
        //        用户登录成功后的跳转
        //--------------------------------------
        //======================================
        ,userLoginSuccess : function(){
            // 如果是广告主
            if(this.userType == 2){
                // 添加优惠券
                this.couponAdd();
            }
            // 如果是媒介主
            else if(this.userType == 1){
                // 跳转媒介主
                this.goWebsiteHome();
            }
        }

        // 添加优惠券
        ,couponAdd : function(){
            var param = {theUrl : '/companyHome/couponAddDt.json', theData : {couponRuleAction : 'LOGIN'}};
            _LRF_.doPostAjax(param,this.couponAddFn);
        }
        ,couponAddFn : function(data){
            if(data.success == 'true'){
                _L_.couponList = data.data.list || [];
            }else{
                _L_.couponList = [];
            }
            // 获取账单充值记录
            _L_.getBillList();
        }
        // 获取账单充值记录
        ,getBillList : function(){
            var param = {theUrl : '/companyHome/billListDt.json', theData : {page : 1, pageSize : 1, types : 1}};
            _LRF_.doPostAjax(param,this.getBillListFn);
        }
        ,getBillListFn : function(data){
            if(data.success == 'true'){
                _L_.billList = data.data.list;
                _L_.billTotalCount = data.data.totalCount;
                // 跳转广告主
                _L_.goCompanyHome();
            }else{
                console.log(data.msg);
            }
        }
        // 跳转广告主
        ,goCompanyHome : function(){
            var recharge = (this.billList.length || this.billTotalCount) ? 1 : 0;
            _SLS_.init({
                type : 'LOGIN'
                ,popSsImg : 1
                ,recharge : recharge
                ,couponList : this.couponList
            });
            var refer = _LRF_.getUrlRequest('refer'), toUrl = decodeURIComponent(refer);
            // 跳转到原来的地址
            if(refer && /companyHome/.test(toUrl)){location.href = toUrl}
            else{location.href = '/companyHome/articleResListPg.html'}

            // 百度事件统计 (广告主登录 成功)

        }
        // 跳转媒介主
        ,goWebsiteHome : function(){
            // 向缓存内写入flagData
            _SLS_.init({type : 'LOGIN'});
            
            //---------------------------------
            //    localStorage.logined
            //---------------------------------
            // 用于媒介主登录之后添加资源层的弹出
            // 弹出之后就删除此项了
            //---------------------------------
            localStorage.setItem('logined',1);

            // 忘记了这个有什么用，先注释掉
            // localStorage.setItem('theflag',1);

            // 页面跳转媒介主首页
            location.href = '/websiteHome/userProfilePg.html';
        }

        ,luosimaoGetResponse : function(resp){
            // 验证成功后直接登录,统一使用广告主的按钮
            if(resp) $('.btn.loginBtn').click();
        }
        ,geetestImgCode : function(){
            var param = {theUrl : api.geetestImgCode, theData : {imgType : _L_.imgType}};
            _LRF_.doPostAjax(param,this.geetestImgCodeFn);
        }
        ,geetestImgCodeFn : function(data){
            var data = JSON.parse(data);
            if(data.success == 1){
                initGeetest({
                    gt : data.gt
                    ,challenge : data.challenge
                    ,new_captcha : data.new_captcha // 用于宕机时表示是新验证码的宕机
                    ,offline : !data.success // 表示用户后台检测极验服务器是否宕机，一般不需要关注
                    ,product : 'popup' // 产品形式，包括：float，popup
                    ,width : '100%'
                    // 更多配置参数请参见：http://www.geetest.com/install/sections/idx-client-sdk.html#config
                },_L_.handler2);
            }
            else{console.log('geetestImgCode-false')}
        }
        ,handler2 : function(captchaObj){
            captchaObjData = captchaObj;
            $(".geetBox").html('');
            captchaObj.appendTo('.geetBox');
            captchaObj.onReady(function(){
                // $("#wait2").hide();
            });
            captchaObj.onSuccess(function(){
                var geetBox = $('.geetBox');
                _LRF_.tipsOk(geetBox);
            });
        }
    }
}());








//====================================================
//----------------------------------------------------
//                   用户注册模块
//----------------------------------------------------
//====================================================
var _R_ = _R_ || {};
_R_ = (function(){
    var contain = $('.LRCONTAIN');
    //------------------------------------------
    //            百度统计事件跟踪
    //------------------------------------------
    // [必填]   category - 要监控的目标的类型名称
    // [必填]   action   - 用户跟目标交互的行为
    // [非必填] optLabel - 事件的一些额外信息
    // [非必填] optValue - 事件的一些数值信息
    //------------------------------------------
    var BAIDU = function(o){_hmt.push(['_trackEvent', o.category, o.action, (o.optLabel || ''), (o.optValue || '')])};

    return {
        //------------------------------------
        // 参数 - 注册类型 (regType = pg|wx)
        //------------------------------------
        RT : (function(){
            var rt = _LRF_.getUrlRequest('regType') || '';
            var str = 'pg';
            if(rt && rt == 'wx') str = rt;
            return str;
        }())

        //-----------------------
        // 用户类型的 Radio
        //-----------------------
        ,userTypeRadio : contain.find('input[type="radio"][name="userType"]')
        //----------------
        // 获取用户类型
        //----------------
        ,getUserType : function(){
            contain.find('input[type="radio"][name="userType"][value="'+_LRF_.UT+'"]').prop('checked',true);
            this.userTypeRadio.each(function(){
                if($(this).is(':checked')){_R_.userType = Number($(this).val())}
            });
            // console.log(this.userType);
        }
        ,userTypeRadioClick : function(){
            if($(this).is(':checked')){_R_.userType = Number($(this).val())}
        }

        ,formHead : contain.find('.head.reg')
        ,formHeadWx : contain.find('.head.reg.wx')
        ,formHeadPg : contain.find('.head.reg.pg')
        ,REGFORM : contain.find('.LRFORM.reg')

        ,smsBlueGetBtn : $('span.sms.get.blue')
        ,smsRedSendBtn : $('.btn.red.sms.send')
        ,popImgYzm : $('.popMid.popImgYzm')
        ,type : 'reg'
        ,sourceInner : _LRF_.getUrlRequest('source_inner') || ''
        ,luosimaoTF : false
        ,clickTF : true

        ,init : function(){
            //-----------------------
            // localStorage.USRINFO
            //-----------------------
            this.LSUN = (function(){
                var data = localStorage.USRINFO ? JSON.parse(localStorage.USRINFO) : {};
                var name = null;
                if(JSON.stringify(data) != '{}'){name = data.data.companyNm || data.data.nickname || null}
                return name;
            }());

            // 保存推荐人ID
            this.setLocalStorageReferId();
            // 判断用户是否登录
            this.userIsLogin();
            // 极验验证
            // this.geetestImgCode();
            // 根据URL上的参数 显示不同表单界面
            this.formFaceShow();
            // 获取用户类型
            this.getUserType();
            this.userTypeRadio.on('click',this.userTypeRadioClick);

            // 注册表单验证
            $('input.blur').on('blur',this.inputBlurCheck);

            // 获取短信验证码按钮点击事件
            this.smsBlueGetBtn.on('click',this.smsBlueGetBtnClick);
            // 弹出层红色发送短信验证码按钮点击事件
            this.smsRedSendBtn.on('click',this.smsRedSendBtnClick);
            // 弹出层关闭按钮点击事件
            $('.popMid').find('.close').on('click',_LRF_.popCloseBtnClick);
            // 协议CheckBox点击事件
            $('input[type="checkbox"].xyCheckBox').on('click',this.xyCheckBoxClick);
            // 查看协议按钮点击事件
            $('.viewPopXieyi').on('click',this.viewPopXieyiBtnClick);
            // 查看协议按钮点击事件2
            $('.viewPopXieyi2').on('click',this.viewPopXieyiBtnClick2);
            // 免费注册按钮点击事件
            $('.btn.regBtn').on('click',this.redRegBtnClick);
            // 马上登录按钮点击事件
            $('.goLogin').on('click',this.goLoginClick);
        }
        // 保存推荐人ID
        ,setLocalStorageReferId : function(){
            var id = _LRF_.getUrlRequest('referId') || '';
            id ? localStorage.setItem('referId',id) : localStorage.removeItem('referId');
        }
        // 判断用户是否登录
        ,userIsLogin : function(){if(this.LSUN) location.href = '/userLoginPg.html'}

        // 注册表单验证
        ,inputBlurCheck : function(){
            var _ = _R_, e = $(this), val = e.val();
            // 校验 - 手机号
            if(e.hasClass('mobile')){
                if(!val){_LRF_.tipsError(e,'请输入手机号码')}
                else if(!reg.mobile.test(val)){_LRF_.tipsError(e,'请输入正确的手机号码')}
                else{_LRF_.tipsOk(e)}
            }
            // 校验 - 短信验证码
            if(e.hasClass('smsCode')){
                if(!val){_LRF_.tipsError(e,'请输入短信验证码')}
                else{_LRF_.tipsOk(e)}
            }
            // 校验 - 密码
            if(e.hasClass('password')){
                if(!val){_LRF_.tipsError(e,'请输入密码')}
                else if(val.length < 6 || val.length > 20){_LRF_.tipsError(e,'密码长度在6~20位之间')}
                else{_LRF_.tipsOk(e)}
            }
        }

        //----------------------------------
        //   获取短信验证码按钮点击事件
        //----------------------------------
        ,smsBlueGetBtnClick : function(){
            if($(this).hasClass('disabled')) return;

            var input = _R_.REGFORM.find('input[type="text"].mobile'), val = input.val() || '';
            _R_.mobile = '';
            if(!val){_LRF_.tipsError(input,'请输入手机号码'); return}
            else if(!reg.mobile.test(val)){_LRF_.tipsError(input,'请输入正确的手机号码'); return}
            else{_LRF_.tipsOk(input)}
            _R_.mobile = val;
            // 检查短信是否关闭
            _R_.smsConfig(input);
        }
        // 检查短信是否关闭
        ,smsConfig : function(input){
            var param = {theUrl: api.sms.config, theData : {type: 2}};
            _LRF_.doPostAjax(param,this.smsConfigFn,input);
        }
        ,smsConfigFn : function(data,input){
            if(data.success == 'true'){
                _LRF_.tipsOk(input);
                // 发送短信前判断是否开启验证
                _LRF_.judgeYzmShow(function(){
                    if(_LRF_.yzmType == 0){_R_.createSendSmsData(); _R_.sendSmsCode(); return}
                    else if(_LRF_.yzmType == 1){}
                    else if(_LRF_.yzmType == 2){_R_.geetestImgCode()}
                    else if(_LRF_.yzmType == 3){LUOCAPTCHA.reset()}
                    // (_LRF_.yzmType == 3) && _R_.popImgYzm.show();
                    // 如果yzmType是3 验证码弹出层打开
                    if(_LRF_.yzmType == 3){$('#popImgYzm').prop('checked',true)}
                });
            }
            else{_LRF_.tipsError(input, data.msg+'，请联系客服'+_LRF_.userRLFqq)}
        }

        //----------------------------------------
        //   弹出层红色发送短信验证码按钮点击事件
        //----------------------------------------
        ,smsRedSendBtnClick : function(){
            if(_LRF_.yzmType == 1){
                var input = $('input.yzmCode'), val = input.val();
                _R_.code = '';
                if(!val){_LRF_.tipsError(input,'请输入图形验证码'); return}
                else if(!reg.num.test(val) || val.length != 4){_LRF_.tipsError(input,'请正确输入图形验证码'); return}
                _LRF_.tipsOk(input);
                _R_.code = val;
            }
            else if(_LRF_.yzmType == 2){
                var result = captchaObjData.getValidate(), geetBox = $('.geetBox');
                if(!result){_LRF_.tipsError(geetBox,'请先完成验证'); return}
                _LRF_.geetest_challenge = result.geetest_challenge;
                _LRF_.geetest_validate = result.geetest_validate;
                _LRF_.geetest_seccode = result.geetest_seccode;
            }
            else if(_LRF_.yzmType == 3){
                var luosimaoResp = $('input[name="luotest_response"]').val();
                if(!_R_.luosimaoTF){_R_.luosimaoGetResponse(luosimaoResp)}
            }
            _R_.createSendSmsData();
            _R_.sendSmsCode();
        }

        ,luosimaoGetResponse: function(resp){
            var luosimaoBox = $('.luosimaoBox');
            if(!resp){_R_.luosimaoTF = false; _LRF_.tipsError(luosimaoBox,'请先完成验证'); return}
            else{
                _R_.luosimaoTF = true;
                _LRF_.tipsOk(luosimaoBox);
                setTimeout(function(){_R_.smsRedSendBtnClick()},1000);
            }
        }

        ,createSendSmsData : function(){
            this.sendSmsData = {};
            this.sendSmsData.userType = this.userType;
            this.sendSmsData.mobile = this.mobile;

            // this.sendSmsData.type = this.type;
            var type = (this.RT == 'wx') ? 'bind' : 'reg';
            this.sendSmsData.type = type;

            if(_LRF_.yzmType == 0) this.sendSmsData.imgType = 'luosimao';
            if(_LRF_.yzmType == 1){
                this.sendSmsData.code = this.code;
            }else if(_LRF_.yzmType == 2){
                this.sendSmsData.imgType = 'geetestReg';
                this.sendSmsData.geetest_challenge = _LRF_.geetest_challenge;
                this.sendSmsData.geetest_validate = _LRF_.geetest_validate;
                this.sendSmsData.geetest_seccode = _LRF_.geetest_seccode;
            }else if(_LRF_.yzmType == 3){
                this.sendSmsData.imgType = 'luosimao';
                this.sendSmsData.code = $('input[name="luotest_response"]').val();
            }
        }
        ,sendSmsCode : function(){
            var param = {theUrl : api.sms.codeSend0, theData : this.sendSmsData};
            _LRF_.doPostAjax(param,this.sendSmsCodeFn);
        }
        ,sendSmsCodeFn : function(data){
            _LRF_.imgCodeChange();
            if(data.success == 'true'){
                // 显示短信已发送
                _R_.smsTipShow();
                // 验证码弹出层关闭
                $('#popImgYzm').prop('checked',false);
                // 蓝色按钮变灰
                _LRF_.smsBlueGetBtnToGray();
                // 百度统计事件跟踪
                BAIDU({category : '短信验证码发送成功', action : '发送短信AJAX返回'});
            }
            else{
                if(data.msg == '图形验证码错误'){
                    // 图形验证码错误
                    var input = $('input.yzmCode'), tips = '图形验证码错误';
                    _LRF_.tipsError(input,tips);
                    input.val('');
                    _LRF_.imgCodeChange();
                    // 百度统计事件跟踪
                    BAIDU({category : '图形验证码错误', action : '发送短信AJAX返回'});
                }
                else if(data.msg == "手机已注册"){
                    // 验证码弹出层关闭
                    $('#popImgYzm').prop('checked',false);
                    var input = $('input.mobile'), tips = '该手机号码已注册';
                    _LRF_.tipsError(input,tips);
                    // 百度统计事件跟踪
                    BAIDU({category : '手机已注册', action : '发送短信AJAX返回'});
                }
                else if(data.msg == "短信不可用"){
                    // 验证码弹出层关闭
                    $('#popImgYzm').prop('checked',false);
                    _LRF_.tipsError($('input.mobile'),data.msg+'，请联系客服'+_LRF_.userRLFqq);
                }
                else if(data.msg == '发送太频繁'){
                    // 验证码弹出层关闭
                    $('#popImgYzm').prop('checked',false);
                    _LRF_.tipsError($('input.smsCode'),'发送太频繁，请稍后再试');
                }
                else{alert(data.msg)}
            }
        }

        // 协议CheckBox点击事件
        ,xyCheckBoxClick : function(){
            if($(this).is(':checked')){$(this).next('label').find('b').css({opacity : 1})}
            else{$(this).next('label').find('b').css({opacity : 0})}
        }
        // 查看协议按钮点击事件
        ,viewPopXieyiBtnClick : function(){$('.popMid.popAgreement').show()}

        // 查看协议按钮点击事件2
        ,viewPopXieyiBtnClick2 : function(){$('.popMid.popAgreement2').show()}

        ,smsTipShow : function(){
            var smsTip = this.REGFORM.find('.smsTip');
            smsTip.fadeIn();
            setTimeout(function(){smsTip.fadeOut(800)},1500);
        }


        //--------------------------------------
        //   根据URL上的参数 显示不同表单界面
        //--------------------------------------
        ,formFaceShow : function(){
            // var formHeadText = (_LRF_.UT == 2) ? '注册广告主' : '注册媒介主';
            var formHeadText = '绑定手机';
            // 表头的变化
            this.formHead.addClass('hide');
            if(this.RT == 'pg'){this.formHeadPg.removeClass('hide')}
            else if(this.RT == 'wx'){this.formHeadWx.removeClass('hide').find('span').html(formHeadText)}

            this.REGFORM.find('.user'+this.RT).removeClass('hide');

            var regBtnText = (this.RT == 'wx') ? '快速登录' : '免费注册';
            $('.btn.regBtn').html(regBtnText);
        }

        // 免费注册按钮点击事件
        ,redRegBtnClick : function(){
            var btn = $(this)
                ,parents = _R_.REGFORM
                ,mobileInput = parents.find('input.mobile')
                ,mobile_val = mobileInput.val()
                ,smsCodeInput = parents.find('input.smsCode')
                ,smsCode_val = smsCodeInput.val()
                ,passwordInput = parents.find('input.password')
                ,password_val = passwordInput.val()
                ,xyCheckBox = parents.find('input[type="checkbox"].xyCheckBox')
                ,tip = ''
                ,action = '立即注册按钮点击';
            ;
            //----- 校验手机号 -----
            _R_.mobile = '';
            if(!mobile_val){tip = '请输入手机号码'; _LRF_.tipsError(mobileInput,tip); BAIDU({category : tip, action : action}); return}
            else if(!reg.mobile.test(mobile_val)){tip = '请输入正确的手机号码'; _LRF_.tipsError(mobileInput,tip); BAIDU({category : tip, action : action}); return}
            _R_.mobile = mobile_val;

            //----- 校验短信验证码 -----
            _R_.smsCode = '';
            if(!smsCode_val){tip = '请输入短信验证码'; _LRF_.tipsError(smsCodeInput,tip); BAIDU({category : tip, action : action}); return}
            _R_.smsCode = smsCode_val;

            //----- 校验密码 -----
            _R_.pwd = '';
            if(!password_val){tip = '请输入密码'; _LRF_.tipsError(passwordInput, ''); BAIDU({category : tip, action : action}); return}
            else if(password_val.length < 6 || password_val.length > 20){
                tip = '密码长度在6~20位之间';
                _LRF_.tipsError(passwordInput,tip);
                BAIDU({category : tip, action : action});
                return;
            }
            _R_.pwd = $.md5(password_val);
            
            if(!xyCheckBox.is(':checked')){tip = '请同意《云自媒服务协议》'; BAIDU({category : tip, action : action}); alert(tip); return}

            $('.pageLoading').fadeIn();
            // 只执行一次，避免重复发送数据
            if(_R_.clickTF){
                _R_.clickTF = false;
                _R_.createRegData();
                _R_.userReg();
            }
        }
        ,createRegData : function(){
            this.regData = {};
            this.regData.userType = this.userType;
            this.regData.pwd = this.pwd;
            this.regData.mobile = this.mobile;
            this.regData.smsCode = this.smsCode;
            this.regData.sourceInner = this.sourceInner;
            // 推荐人ID
            this.regData.referId = _LRF_.getUrlRequest('referId') || localStorage.getItem('referId');
            // openId
            (this.RT == 'wx') ? this.regData.openId = cookie.get('OPENID') : delete this.regData.openId;
        }
        ,userReg : function(){
            var param = {theUrl : api.user.reg, theData : this.regData};
            _LRF_.doPostAjax(param,this.userRegFn);
        }
        ,userRegFn : function(data){
            if(data.success == 'true'){

                // 注册成功后百度统计回调执行函数
				window._agl && window._agl.push(['track', ['success', {t: 3}]])
                
                //-------------------------------
                // 如果是新用户 isNewUser=1
                // 否则 连isNewUser字段都不返回
                //-------------------------------
                data.isNewUser ? _R_.isNewUser = data.isNewUser : delete _R_.isNewUser;

                //-----------------------------
                //     用户注册成功后的跳转
                //-----------------------------
                _R_.userRegSuccess();
            }
            else{
                _R_.clickTF = true;
                $('.pageLoading').fadeOut();

                if(/短信/.test(data.msg)){
                    // 错误的提示
                    _LRF_.tipsError($('input.smsCode'),data.msg);
                    // 百度统计事件跟踪
                    BAIDU({category : data.msg, action : '立即注册AJAX返回'});
                }else{
                    _LRF_.tipsError($('input.user.mobile'),data.msg);
                    console.log(data.msg);
                }
            }
        }

        //======================================
        //--------------------------------------
        //        用户注册成功后的跳转
        //--------------------------------------
        //======================================
        ,userRegSuccess : function(){
            // 清空localStorage
            localStorage.clear();
            // 删除cookie.OPENID
            cookie.deletes('OPENID');

            // 如果是新用户
            if(this.isNewUser == 1){
                // 如果是广告主
                if(this.userType == 2){
                    // 添加优惠券 (注册)
                    this.couponAdd();
                }
                // 如果是媒介主
                else if(this.userType == 1){
                    // 跳转媒介主 (注册)
                    this.goWebsiteHome();
                }
            }
            // 否则就是老用户
            else{
                // 如果是广告主
                if(this.userType == 2){
                    // 添加优惠券 (登录)
                    _L_.couponAdd();
                }
                // 如果是媒介主
                else if(this.userType == 1){
                    // 跳转媒介主 (登录)
                    _L_.goWebsiteHome();
                }
            }
        }

        // 添加优惠券
        ,couponAdd : function(){
            var param = {theUrl : '/companyHome/couponAddDt.json', theData : {couponRuleAction : 'REG'}};
            _LRF_.doPostAjax(param,this.couponAddFn);
        }
        ,couponAddFn : function(data){
            _R_.clickTF = true;
            $('.pageLoading').fadeOut();
            if(data.success == 'true'){
                // 优惠券列表
                _R_.couponList = data.data.list;
                // 跳转广告主 (注册)
                _R_.goCompanyHome();
            }else{
                alert(data.msg);
                console.log(data.msg);
            }
        }
        // 跳转广告主 (注册)
        ,goCompanyHome : function(){
            // 百度统计事件跟踪
            BAIDU({category : '广告主注册成功', action : '立即注册AJAX返回'});
            _SLS_.init({
                type : 'REG'
                ,popSsImg : 0
                ,recharge : 0
                ,couponList : this.couponList
            });
            // 页面跳转广告主新闻资源列表页
            location.href = '/companyHome/articleResListPg.html?regOk';
        }

        // 跳转媒介主 (注册)
        ,goWebsiteHome : function(){
            // 恢复点击事件
            this.clickTF = true;
            // 百度统计事件跟踪
            BAIDU({category : '媒介主注册成功', action : '立即注册AJAX返回'});
            location.href = '/websiteHome/userProfilePg.html?regOk';
        }

        ,geetestImgCode : function(){
            var param = {theUrl : api.geetestImgCode, theData : {imgType : 'geetestReg'}};
            _LRF_.doPostAjax(param,this.geetestImgCodeFn);
        }
        ,geetestImgCodeFn : function(data){
            var data = JSON.parse(data);
            if(data.success == 1){
                initGeetest({
                    gt : data.gt
                    ,challenge : data.challenge
                    ,new_captcha : data.new_captcha // 用于宕机时表示是新验证码的宕机
                    ,offline : !data.success // 表示用户后台检测极验服务器是否宕机，一般不需要关注
                    ,product : 'popup' // 产品形式，包括：float，popup
                    ,width : '100%'
                    // 更多配置参数请参见：http://www.geetest.com/install/sections/idx-client-sdk.html#config
                },_R_.handler2);
            }else{
                console.log('geetestImgCode-false');
            }
        }
        ,handler2: function(captchaObj){
            captchaObjData = captchaObj;
            $('.geetBox').html('');
            captchaObj.appendTo('.geetBox');
            captchaObj.onReady(function(){
                // $("#wait2").hide();
            });
            captchaObj.onSuccess(function(){
                var geetBox = $('.geetBox');
                _LRF_.tipsOk(geetBox);
            });
        }

        // 马上登录按钮点击事件
        ,goLoginClick : function(){location.href = '/userLoginPg.html?userType='+_LRF_.UT}
    }
}());

setTimeout(function(){
    if(/login/i.test(_LRF_.page)){_L_.init()}
    else if(/reg/i.test(_LRF_.page)){_R_.init()}
},500);
